Calcular índices de concavidad y perfiles longitudinales de cursos fluviales

Imprimir lista de mapas ráster y vectoriales dentro en la región/localización activa

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Obtener coordenada

mapview(order, col.regions = 'blue', legend = FALSE)

Obtener cursos más largos (cargar función propia)

devtools::source_url('https://raw.githubusercontent.com/geofis/rgrass/master/lfp_network.R') #Cargada como función "LfpNetwork"
LfpNetwork(
  xycoords = my_trans(c(-69.84448,18.55179)),
  suffix = 'ozm5',
  stream_vect = 'order_all',
  direction = 'drainage-dir-de-rstr'
)

Imprimir lista de mapas ráster y vectoriales

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Representar con leaflet

lfp <- readVECT('LfpNetwork_lfp_all_final_ozm5')
lfp4326 <- spTransform(lfp, CRSobj = CRS("+init=epsg:4326"))
lfp_con_id <- leaflet() %>%
  addProviderTiles(providers$Stamen.Terrain, group = 'terrain') %>%
  addPolylines(
    data = lfp4326, weight = 3, opacity = 0.7, group = 'order',
    label = ~as.character(cat),
    highlightOptions = highlightOptions(color = "white",
                                      weight = 5, bringToFront = F, opacity = 1),
    labelOptions = labelOptions(noHide = T,
                                style = list(
                                  "font-size" = "8px",
                                  "background" = "rgba(255, 255, 255, 0.5)",
                                  "background-clip" = "padding-box",
                                  "padding" = "1px"))) %>% 
  leafem::addHomeButton(extent(lfp4326), 'Ver todo')
lfp_con_id
lfp_con_id %>% mapview::mapshot(file = 'lfp_con_id_salida5.png')

Exportar a KML

execGRASS(
  'v.out.ogr',
  flags = c('overwrite','quiet'),
  parameters = list(
    input = 'LfpNetwork_lfp_all_final_ozm5',
    output = 'lfp_ozm_kml.kml',
    format = 'KML',
    dsco = 'NameField=cat'
  )
)

Obtención de perfiles longitudinales e índices de concavidad

source('lfp_profiles_concavity.R') #Cargado como función "LfpProfilesConcavity"
ozama_conv_prof <- LfpProfilesConcavity(
  xycoords = my_trans(c(-69.84448,18.55179)),
  network = 'LfpNetwork_lfp_all_final_ozm5',
  prefix = 'Oz',
  dem = 'dem',
  direction = 'drainage-dir-de-rstr',
  crs = '+init=epsg:32619',
  smns = 0.5,
  nrow = 5)

Mostrar resultados

ozama_conv_prof$profiles

ozama_conv_prof$concavityindex
##    stream          ci
## 1    Oz-1  0.80271508
## 2    Oz-2  0.80389217
## 3    Oz-3  0.03579061
## 4    Oz-4  0.23462741
## 5    Oz-5  0.64511144
## 6    Oz-6  0.45440916
## 7    Oz-7 -0.01108762
## 8    Oz-8  0.38328937
## 9    Oz-9  0.24105441
## 10  Oz-10  0.09667463
## 11  Oz-11  0.23745060
## 12  Oz-12  0.25079404
## 13  Oz-13  0.38525122
## 14  Oz-14  0.38984452
## 15  Oz-15  0.42363156
## 16  Oz-16  0.25875572
## 17  Oz-17  0.49351328
## 18  Oz-18  0.33078898
## 19  Oz-19  0.32525752
## 20  Oz-20  0.17293190
## 21  Oz-21  0.28778613
## 22  Oz-22  0.72596970
ozama_conv_prof$dimensionlessprofiles$layers[[2]]$aes_params$size <- 2
ozama_conv_prof$dimensionlessprofiles$theme$text$size <- 12
ozama_conv_prof$dimensionlessprofiles

Tabla dx/dy, tanto en metros como adimensional. Útiles para construir perfiles por cuenta propia

ozama_conv_prof$lengthzdata %>% tibble::as.tibble()
## Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics).
## This warning is displayed once per session.
## # A tibble: 1,907 x 4
##    stream length     z rowname
##    <fct>   <dbl> <dbl>   <int>
##  1 Oz-1      0    5.67       1
##  2 Oz-1     89.1  5.53       2
##  3 Oz-1    178.   5.39       3
##  4 Oz-1    215.   5.33       4
##  5 Oz-1    304.   5.18       5
##  6 Oz-1    341.   5.12       6
##  7 Oz-1    430.   4.96       7
##  8 Oz-1    467.   4.89       8
##  9 Oz-1    556.   4.73       9
## 10 Oz-1    593.   4.67      10
## # … with 1,897 more rows
ozama_conv_prof$lengthzdatadmnls %>% tibble::as.tibble()
## # A tibble: 1,907 x 6
##    stream length     z rowname length.dmnls z.dmnls
##    <fct>   <dbl> <dbl>   <int>        <dbl>   <dbl>
##  1 Oz-1      0    5.67       1      0       0.00777
##  2 Oz-1     89.1  5.53       2      0.00351 0.00730
##  3 Oz-1    178.   5.39       3      0.00702 0.00683
##  4 Oz-1    215.   5.33       4      0.00847 0.00663
##  5 Oz-1    304.   5.18       5      0.0120  0.00613
##  6 Oz-1    341.   5.12       6      0.0134  0.00592
##  7 Oz-1    430.   4.96       7      0.0169  0.00537
##  8 Oz-1    467.   4.89       8      0.0184  0.00514
##  9 Oz-1    556.   4.73       9      0.0219  0.00459
## 10 Oz-1    593.   4.67      10      0.0234  0.00439
## # … with 1,897 more rows

Limpiar archivo de bloqueo del conjunto de mapas de GRASS

unlink_.gislock()